home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
COMMS
/
LIRC.ZIP
/
!LIRC
/
!Changes
next >
Wrap
Text File
|
1998-09-09
|
18KB
|
311 lines
Changes from 1.00 to 1.69
* List of changes started :-)
Changes from 1.69 to 1.70
* NOTICEs could go wrong if it was the first thing received ever. I.e. it
couldn't really happen, but it looks nicer now.
* New /edit command.
* ARG(),ARGS() renamed to ARG$(),ARGS$(). I don't know what I was thinking of,
they've always returned strings.
* New FLOOD event.
* Bytes/sec added to dcc_rx and dcc_tx.
* Improved dcc_rx/tx consistency of output, both give a proper message forum
now. Also added the DCC events.
* Quit requires confirmation if still connected. This is _optional_.
* Selection had some faults, better now.
* Caret placed at end when switching windows.
* New functions: VERSION$, SOURCE$, F_TYPE$().
* END now waits for output buffer to empty before quitting program.
* URL-launching could be confused by the selection. Now it can't.
* RawDisp prints out commands issued. Good for debugging scripts.
* Horrible default selection colour (was unused) changed to a sensible one.
* Added /save selection <file> command. This is really the only suitable way
to process the selection from a script.
* Single-letter vars were in some cases not transformed into the non-clashing
versions.
* Leet-function made into a script, it's an example of how to use /entry.
* Save selection saved colour codes too, e.g. before/after urls.
* /task command extended, to contain the flush-time.
* Added "/task <name> input <string>", which sends data to interactive tasks.
* Added wimp events. Almost anything should be possible now, but I haven't
tried much yet :-)
* Changed the 'friend' and 'ignore' buttons to plop in and out, showing the
status.
* Experimental option added. If selected, the list windows will try to ensure
that the pointer stays over the same entry when the list changes.
It obviously moves the _window_, not the pointer, to achieve this. It moves
the window away if the entry under the pointer actually disappears. Except if
it was the bottom entry, in which case the window just shrinks as normal.
The main reason for this feature is, that if it works, the lists can soon be
sorted by nick or other things.
* Fixed up the window positions of dcc_rx/tx. They now tell each other where
the best place is - the intention is to leave the important bits of the
windows visible/clickable.
* Changed the member lists too, so they are created to the right of the
relevant terminal window, if any. If they are closed, they will be reopened
where they were, not in this default position.
* Changed the LIRC<>Script communication so it's much more effective (hence
faster action)
* New functions: THISFILE$, LEAF$(), PATH$(), M_NAMES$(), FIRSTARG$().
* Changed "host,port" to be "host:port". The Servers file can contain either.
* Now checking if Choices variables are set. If not, it uses the application
directory for choices.
Changes from 1.70 to 1.71
* Forgot a red border around friend and ignore buttons when pressed.
* Argh, /save macros didn't work. Now it does.
Changes from 1.71 to 1.72
* Now won't forget a nick who is on a channel with you. This is necessary to
make the buttons and the host info stay correct.
* Holding Shift while clicking in a window will not make it current. This is
used to drag selections into the entry-box when it's under a different
window.
* Entry-box could get wrong size sometimes. Fixed.
* Added LASTMSG$ function, gives the last person that has msg'd you.
* Added Shift-tab to open a terminal with LASTMSG$ as target. Added as a script
routine, in the !OnConnect script.
* Fixed some misbehaviour that could arise when having spaces at the end of
command lines.
Changes from 1.72 to 1.73
* Extended /ban, /unban, /op, and /deop to accept any number of targets. They
will then be issued in groups of 3.
* Added an option to select if WimpCTCP gets priority over internal routines,
or the other way round. This was necessary because inexperienced users could
easily get very strange effects with things like faces.
* The People menu functions didn't work when there was no current target.
* Changed the alias/event handling, though the syntax remains the same. But
now the scripts will automatically raise their wimpslot if they're running
out of memory (and shrink it if they have too much). This could happen under
some forms of flooding. It also means that if you use MEMORY, you have to
make use of the extra memory too, otherwise it will be released.
* Made MEMORY work inside the script as well as in the header, for allocating
extra space.
* Pointer now follows if window scrolls while making a selection.
* Made yet another small utility in !OnConnect: Ctrl-C will now "copy" the
selection, i.e. send it to the current target one line at a time.
Changes from 1.73 to 1.74
* Somewhere along the line, the list windows started expanding when they were
not supposed to. That has been fixed (only expands if they are already near
full height.
* Due to the new script-memory method, I've given them 4K more initially. It
will then disappear if not actually needed, but it can avoid some trouble
at startup if they need stack space there.
* New sprites by rjw ;-)
Changes from 1.74 to 1.75
* DISPLAY is back. This time for printing inside wimp-events (mainly w_null).
It also has the advantage that it doesn't wait for null polls before printing
the text.
* Changed !IRCInfo into a script. The functionality remains exactly the same.
Note how an alias on /host takes over if it has already been loaded.
* Added the PROVIDER$() function, to make some dynamic scripts possible.
* Now uses a pre-compiled script if one exists. These are kept up to date like
make does, so if the source changes (or other dependencies), they are
recompiled. It will also have to recompile if running a different script
with the same leafname, so avoid that if you care about the extra delay.
* Cleaned up script management somewhat. That made a new Exit event possible,
which is called just before the script dies. Thus it is possible to use
system resources (like sockets) and release them in the exit event.
* More new sprites from rjw :-)
* DCC RX directly to another application didn't quite work the way it was
intended. Now it does.
* Refined "special" targets to have a more consistent environment. Most were
present already, but only produced output. Now you can talk to scripts and
children with e.g. "/msg", like you would to a nick/channel.
* The following commands have changed:
Old command Replaced by
/task <name> input <string> /msg @<name> <string>
/task <name> quit /kill @<name>
/script kill <name> /kill $<name>
Added command:
/msg $<name> <string> To talk to scripts, via the new Input event.
* Changed the way the font choice is saved. The font file is simply copied
now, instead of storing the filename. This makes mistakes much less likely.
If you have a font chosen by the old method, you should save choices once.
From then on, it is not necessary to save after changing font.
* Changed the default font too, to a better one.
* Fixed /save style, it could sometimes use the wrong syntax in a file.
* Adjusting the colours could be time consuming, so a box has been added where
you can modify brightness, contrast, and saturation of all colours at once.
Changes from 1.75 to 1.76
* New 'Indent' option that will make multi-line messages get indented
underneath the first line. Well, I don't know how to explain it, try it and
see :-)
* Fixed the DCC event, which basically didn't happen.
* Fixed an error that prevented END from waiting for PRINT text to be sent
before quitting.
* Added Shift-up/down arrow to select the previous/next terminal window.
* Added EXIST() function.
* Extended Ctrl-C function to insert the copied text into whatever is in the
entry-icon already (at the caret position).
* Added a 'hue' bar to adjust-colours window.
* Added an easier way of setting up your own face. You can also edit it on the
fly, without mucking about with the Faces file.
* The voice window could behave strangely in some cases. Also, loading the
voices would sometimes not replace the existing ones.
* Added rudimentary DCC CHAT support, in the form of two scripts (one for
initiating, and one for receiving). This will probably be improved when I
start actually using it.
* Added a /Chat command, and a /DCC command.
* DCC SEND now transfers the file date as well as the type. This will only work
between lircs so far.
* Used this additional information to provide DCC RESUME capability. This
_also_ only works between lircs, because they are the only ones who send
out enough information to identify the file with a reasonable certainty.
It is simple to do, and I hope others will follow.
* Redesigned the output system, though it looks identical from outside
(hopefully). But this enables scripts to completely replace output routines
if they wish. A few possibilites are: Adding colour support from a script.
Making vt100 talker support (like DCC chat). Child control direct from a
script (e.g. to make an ftp script with almost no work). Etc.
* All events (except User) now have a fallback effect, which will happen if
they are not 'grabbed' by a script. For this purpose there is a new statement
'GRABEVENT'. It works exactly like ACKKEY, and will stop other scripts from
seeing the event, and lirc from performing the fallback effect. These effects
are for the most part just printing some text. But grabbing a CTCP event will
also stop the internal routines (and WimpCTCP) from being executed.
* The Kick event didn't work, a Kill event happened instead. Which puzzles me,
because I've been using it. Just one of life's mysteries.
* Added the Title event and the /Set Title command, to allow scripts to set
the title of their own windows (or any others).
Changes from 1.76 to 1.77
* Changed the style spec somewhat. %*2 is not necessary, the text is always
appended to the end. This had to be done to enable colour changes.
* Made use of %2 in style to give current date/time. The format can be set in
Choices. It will also remove your local Style file if it is dated before this
change, otherwise the display could get very messy indeed.
* Rewrote printing routine to accept colours in a more controlled manner.
* Added a list of the 16 mIRC colours. They are not used internally, but could
be from a script (colours 32..48).
* Added bold, which is toggled on/off by ascii 2 in the line. This can so far
be done by using the /gs command (and saying "<2>bold<2>" or "|Bbold|B").
* Gave in and added the colours too, internally. At the moment this is only
compatible with mIRC and others, i.e. you can't change to the internal
colours. Perhaps it will be kept that way to avoid confusion. The colours
are used in the same way as bold, e.g. "/gs this is <3>4red<3>". Background
colour is understood, but skipped and ignored. It looks ugly, it interferes
with the selection, and is generally a bad idea, imho.
* Added a "raw" event type, mainly for use by advanced scripts. This lets them
print whatever they want, with no user-defined prefixes at all. It will still
be word-wrapped, so keep under 80 chars per line if you want total control.
The colour will be 'public' unless changed using control codes.
* Added a COL$() function for returning a suitable ctrl-code sequence for
changing to a named colour.
* Changed the entry parser wrt plain text being entered (not commands). Instead
of just doing the same as /say, it changes it into a /say command and
executes that. This gives exactly the same effect, _but_ with the important
difference that you can alias /say to do something else, which will then be
done to all plain text too.
* Added the OUTPUT statement, which can make all script output look like any
event type, in one stroke. This has got to simplify some things.
* Yet another event added: BadTarget. This is for adding 'special' targets that
would otherwise be unknown, e.g. names starting with "+".
* Added T_OPEN() function, to check if a given target has a window open.
* Added TITLE$ at some point recently. Might have been in 1.76, who knows.
* Added N_NICK$() function.
* Cleaned up dcc chat. $ was in use both for scripts and the pseudo chat-
target, and that could be confusing. It now grabs =nick instead (like ircII).
Furthermore, it is no longer necessary that the script has the same name as
the target. The only problem is that you now need two clients running if you
want to dcc chat with yourself. But anybody wanting that would perhaps be
better off talking to Eliza.
* Added ACTION ctcp (/me) to dcc chat.
Changes from 1.77 to 1.78
* Now this should have been done a long time ago: People who you share a
channel with are _not_ checked periodically for presence. Nor are channels
you have joined.
* It appears most clients are using LF as line terminator in DCC chats, instead
of CRLF used everywhere else. So this has been changed.
* No longer ignores long lines of text received, in particular /names result
strings.
Plain text messages still need to be limited to around 220 chars because of
the wimp message limit. People having problems with this should consider
fixing their return key instead.
* Accessing the list of members from scripts will have to be changed somewhat.
More than 20 members may not fit in a wimp message, so M_NAMES$() might only
return some of them. So far, M_NAMES() has been added, so you can at least
know if you got them all or not.
* Made colours and bold support optional. That is, when it is turned off, the
control sequences are still recognised (and removed), but the colour is not
changed by them.
* Added an option for turning on colour entry using ~. So ~B is bold on/off,
and "~C<n>...~C" is colour <n>. If you need ~, you have to use ~~. This
_only_ applies to text entered into the box, not anything else. If it had,
scripts would become a nightmare, because you'd have to check for ~ in
every command you issue, and escape them etc.
* Added a colour entry box, which will enter the proper ~ sequence when
clicked. Very simple and tacky.
* Made the ctrl-character user-defined.
* Executing a file, then changing current target could be a bit confusing (the
file continued on the new target). So now an executing file is put on hold
if the target changes, and resumed when it changes back.
* Added /Set LastMsg <target>, which makes DCC Chat more useful, as you can now
just press Shift-TAB to open a chat window when one is requested.
* Added the 'BOO' statement, which will terminate a SLEEP period prematurely.
This naturally only works in alias and event routines (as they are the only
ones executed while sleeping).
* Added CONNECT(), KILL, RXLINE$(), and TXLINE. These provide easy access to
simple socket operations. More will probably follow.
* Added RESOLVE(), SERVER(), ACCEPT(), NTOH(), and HTON().
* When cutting up received lines (because of the wimp message limit), they are
now cut at a space if possible, because it looks nicer.
* Added the 'watching' of specified nicks. Such a nick can be in the people
list without actually being on IRC. Also added the /Watch command, and the
related event. This is all subject to the chosen People list reaction time.
* Colour changes now continue to the end of the _logical_ line, i.e. applies
to all remaining text (unless, of course, colour/bold is cancelled before
the end).
* Added /Cls command on request from rjw...
* Changed Watch into a real state, like Friend. This means there is now a watch
button, and it shows the state. There is also "/Save watch" to save the list
of nicks being watched.
* Tidied and improved the colour handling, though the result should remain the
same. COL$() does return something else now, but noone should be using the
component parts of that anyway (if you do, let this be a lesson :-)
* Changed all time related stuff to use monotonic time instead of the system
clock. It seems there are still some old programs out there, which think they
can set this clock.
* Added T_OPEN$, which returns a list of the targets that have a terminal
window open.
Changes from 1.78 to 1.79
* Added some more functions to the nick menu.
* Changed /Watch so it also prints whether the nick is considered present or
not.
* Moved the random quit messages into a file.
* Lots of colour changes could make a line longer than the allocated space
(which was an expected thing, so nothing bad happened). But the buffer limit
has now been raised.
* Changed the nick checking so it takes the maximum of 5 at a time if possible.
Also, it could begin checking before properly registered. Now it waits.
* Improved list redraw, especially when entries are added/removed. 'Smart list'
also works better now.
* Changed 'Fixed lists' so they are also 'smart'. This makes them behave
differently, but less annoying than before.
* Added new 'Enter' event, where you can get at the text in the entry box
before it's executed as a command. This enables scripts that e.g. provide new
ways of entering colours, translates ';' to '/me', etc.
* Updated the Talk script to use the features now available.
* Added the option of setting the initial height of terminal windows.
* Added a left margin and a right margin.
* Added the NOW function.
* Nested requests could sometimes get mixed up. This is a very rare thing, but
at least it works now.
* Added a simple AutoAway script.